multiprocessing simmetrico
(Symmetric Multiprocessing)
|
Un sistema in cui CPU multiple, montate allÆinterno della stessa macchina fisica, condividono la medesima memoria, i medesimi dischi, gli stessi dispositivi di input/output e concorrono allÆesecuzione dello stesso programma o della stessa applicazione. Nel multiprocessing simmetrico il carico di lavoro viene ripartito tra le diverse CPU in modo da ottenere una potenza di calcolo cumulativamente maggiore rispetto a quella di ciascun processore. Nel multiprocessing asimmetrico, invece, ciascuna CPU svolge un ruolo diverso dalle altre. La simmetria ideale esiste solo a livello teorico e nella pratica il parallelismo di esecuzione è tanto maggiore quanto migliore è la sua implementazione da parte del particolare sistema operativo impiegato.
Di solito il sistema parte sotto la supervisione di una CPU primaria la quale, successivamente carica la parte multiprocessing del sistema operativo abilitando in tal modo le altre CPU. La configurazione minima prevede almeno due processori accoppiati, ma si arriva fino a 32, 64 e anche oltre. Se una sola CPU va in avaria tutto il sistema deve fermarsi (quasi sempre può comunque riavviarsi in automatico usando le CPU che sono rimaste attive). UnÆalternativa che garantisce maggiore protezione è lÆimpiego di CPU ridondanti allÆinterno dello stesso sistema oppure lÆimpiego di diversi sistemi collegati tra loro a grappolo (cluster) così da concorrere tutti allÆelaborazione della stessa applicazione. Nel caso in cui i sistemi collegati a grappolo siano a loro volta di tipo SMP questa configurazione prende il nome di Massive Parallel Processor (MPP).
|
|